FIGS. 13(a) and 13(b) are diagrams for explaining a prior art data transmission method and showing processing in a relay server.
As shown in FIG. 13(a), a prior art relay server performs relay processing of receiving packets which are successively input from a transmitting end and successively outputting the received packets to a receiving terminal.
In this prior art relay server, when an input rate is higher with relative to a channel capacity at an output end, overflow occurs in a transmission queue M in the relay server. Accordingly, as shown in FIG. 13(b), on the basis of information about priorities attached to respective packets, the prior art relay server outputs only higher priority packets Pa having priorities of a predetermined value or higher, with thinning out lower priority packets Pb having priorities lower than the predetermined value.
Hereinafter, brief descriptions are given of data structures of the packets Pa and Pb, and a detailed construction of the data transmission device as a prior art relay server.
FIG. 14 are diagrams illustrating data structures of the packets.
Each of the packets Pa and Pb transmitted by the above-described transmission method comprises a data part Pd for storing digital data corresponding to a medium, such as a video image, a voice, and a character, and a header part Ph for storing relevant information indicating an attribute or the like of the digital data, as shown in FIGS. 14(a) and 14(b).
In the header part, information indicating a priority of data stored in the data part (hereinafter, simply referred to a priority) are stored as one of the relevant information. For example, the packet Pa is a higher priority packet having a value “1” indicating that the priority is higher, stored in its header part Ph. The packet Pb is a lower priority packet having a value “2” indicating that the priority is lower, stored in its header part Ph.
In addition, FIG. 15 is a block diagram illustrating a structure of this data transmission device (relay server).
This data transmission device 200 constitutes a relay server for relaying transmission data between a distribution server (transmitting end) and a terminal (receiving end), and has a receiving unit 11 for receiving input packets which are transmitted from the distribution server, a transmission queue management unit 12 for setting an order of transmitting the received input packets on the basis of predetermined information, and a transmission unit 13 for transmitting the respective packets in the transmission order set by the management unit 12.
The transmission queue management unit 12 includes a transmission queue (not shown) as a data buffer for temporarily storing the input packets received by the receiving unit 11.
In addition, the data transmission device 200 has a packet priority decision unit 15 for deciding priorities of the input packets. In the transmission queue management unit 12, the transmission order is decided by thinning out lower priority packets in the transmission queue on the basis of the decided priorities and higher priority packets in the transmission queue are output to the transmission unit 13 in the decided order.
However, since the prior art relay server performs a simple output rate control of not transmitting lower priority packets but transmitting only higher priority packets, the output rate may be lower than required, or the output rate may be changed considerably with the output rate control.
In addition, occurrence of a transmission error on a channel cannot be avoided. In parenthesis, a bit error rate in a wired section is about 10−5 to 10−7 and a bit error rate in a wireless section is about 10−3. Particularly, in a data transmission method in which a reproduction quality depends on a transmission quality of end-to-end (between a distribution server and a receiving terminal), such as a RTP (Real-Time Transport Protocol) method, the transmission quality in a wireless section significantly influences the reproduced quality.
Accordingly, in order to recover the transmission error, the relay server retransmits a packet in accordance with a retransmission request from a receiving terminal end or transmits to a predetermined packet, a correction packet containing an error correcting code for correcting a data error of the packet. However, only with the transmission control according to the priorities of the input packets, when retransmission of a packet or transmission of a correction packet is performed, the output rate in the relay server increases and thereby the output rate exceeds a value corresponding to the channel capacity.